var maxProfit = function(prices) {
  const dp = new Array(prices.length).fill(0).map(() => new Array(2).fill(0));

  // 第二维度 1代表持有 0代表卖出
  dp[0][1] = -prices[0];

  for (let i = 1; i < prices.length; i++) {
    dp[i][1] = Math.max(dp[i-1][1], dp[i-1][0] - prices[i]);
    dp[i][0] = Math.max(dp[i-1][0], dp[i-1][1] + prices[i]);
  }
  return dp[prices.length-1][0];
}